package com.carkeeper.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.carkeeper.dto.CUserDTO;
import com.carkeeper.pojo.CUserPO;
import com.carkeeper.vo.CUserQueryParamVo;

import java.util.List;

/**
 * C端用户服务层定义
 */
public interface CUserService {
    /**
     * 保存或更新用户信息
     *
     * @param userPO 用户信息
     * @return 操作结果
     */
    Boolean saveAndUpdate(CUserPO userPO);

    /**
     * 删除用户
     *
     * @param id 用户id
     * @return 操作结果
     */
    Boolean delete(Long id);

    /**
     * 获取用户分页数据
     *
     * @param paramVo 查询条件
     * @return 用户分页数据
     */
    Page<CUserPO> findByPage(CUserQueryParamVo paramVo);

    /**
     * 获取用户列表
     *
     * @param userDTO 查询条件
     * @return 用户列表
     */
    List<CUserPO> list(CUserDTO userDTO);

    /**
     * 根据id获取用户信息
     *
     * @param id 用户id
     * @return 用户信息
     */
    CUserPO findById(Long id);
}
